package com.house.controller;

import com.alibaba.fastjson.JSONObject;
import com.house.pojo.HouseType;
import com.house.service.IHouseTypeService;
import com.house.utils.RedisUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/houseType")
/**
 * 22001011032刘晓妍
 */
public class HouseTypeController {
    @Autowired
    private RedisUtils redisUtils;
    @Autowired
    private IHouseTypeService service;
    @GetMapping
    public List<HouseType> list(){
        return service.list();
    }
    @GetMapping("/{id}")
    public HouseType getInfo(@PathVariable Integer id) {
        String json = redisUtils.getString("houseType:" + id);
        HouseType houseType=(HouseType)JSONObject.parse(json);
        if (houseType!=null){
            return houseType;
        }else {
            return service.getById(id);
        }
    }
    @PostMapping
    public Integer add(@RequestBody HouseType houseType){
        if (houseType.getName()==null){
            return 0;
        }
        int rlt= service.add(houseType);
        redisUtils.setString("houseType:"+ houseType.getId(), JSONObject.toJSONString(houseType));
        return rlt;
    }
    @PutMapping
    public Integer update(@RequestBody HouseType houseType){
        return service.update(houseType);
    }
    @DeleteMapping("/{id}")
    public Integer delete(@PathVariable Integer id){
        return service.delete(id);
    }
}
